package com.example.springhelloworld.model.DTO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * do
 * @author 
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DoDTO implements Serializable {
    /**
     * 唯一主键
     */
    private Long id;

    /**
     * do 编号 
     */
    private String doCode;

    /**
     * 订单code 
     */
    private String orderCode;

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 用户id 
     */
    private Long userId;

    /**
     * 下单账号
     */
    private String userName;

    /**
     * 商家id 
     */
    private Long merchantId;

    /**
     * 仓库id 
     */
    private Long warehouseId;

    /**
     * 订单金额(不含运费/运费险) 
     */
    private BigDecimal orderAmount;

    /**
     * 订单商品总金额 
     */
    private BigDecimal productAmount;

    /**
     * 订单结算币种
     */
    private Integer orderCurrency;

    /**
     * 订单结算币种汇率
     */
    private BigDecimal orderCurrencyRates;

    /**
     * 运费(实收) 
     */
    private BigDecimal orderDeliveryFee;

    /**
     * 订单已优惠金额(满立减) 
     */
    private BigDecimal orderPromotionDiscount;

    /**
     * 用户选择的配送类型 
     */
    private String orderDeliveryServiceType;

    /**
     * 配送方式类型  
     */
    private String orderDeliveryMethodId;

    /**
     * 订单备注(用户) 
     */
    private String orderRemarkUser;

    /**
     * 订单备注(商家给用户看的) 
     */
    private String orderRemarkMerchant2user;

    /**
     * 订单备注(商家自己看的) 
     */
    private String orderRemarkMerchant;

    /**
     * 订单业务类型 
     */
    private Integer orderBusinessType;

    /**
     * 短信接收号码 
     */
    private String orderMessagePhone;

    /**
     * 收货人地址 
     */
    private String goodReceiverAddress;

    /**
     * 收货人地址邮编 
     */
    private String goodReceiverPostcode;

    /**
     * 收货人姓名 
     */
    private String goodReceiverName;

    /**
     * 收货人手机 
     */
    private String goodReceiverMobile;

    /**
     * 收货人国家 
     */
    private String goodReceiverCountry;

    /**
     * 收货人省份 
     */
    private String goodReceiverProvince;

    /**
     * 收货人城市 
     */
    private String goodReceiverCity;

    /**
     * 收货人地区 
     */
    private String goodReceiverCounty;

    /**
     * 收货人四级区域 
     */
    private String goodReceiverArea;

    /**
     * 交货单状态 字典DO_STATUS
     */
    private Integer status;

    /**
     * 是否可用:默认0否;1是
     */
    private Integer isAvailable;

    /**
     * 是否逻辑删除:默认0未删除;1已删除
     */
    private Integer isDeleted;

    /**
     * 创建人id
     */
    private Long createUserid;

    /**
     * 创建人姓名
     */
    private String createUsername;

    /**
     * 创建时间-应用操作时间
     */
    private Date createTime;

    /**
     * 创建时间-数据库操作时间
     */
    private Date createTimeDb;

    /**
     * 服务器ip
     */
    private String serverIp;

    /**
     * 最后修改人id
     */
    private Long updateUserid;

    /**
     * 最后修改人姓名
     */
    private String updateUsername;

    /**
     * 最后修改时间
     */
    private Date updateTime;

    /**
     * 最后修改时间-数据库默认写入时间
     */
    private Date updateTimeDb;

    /**
     * 公司id
     */
    private Long companyId;

    /**
     * 外部系统订单编号
     */
    private String outOrderCode;

    /**
     * 仓库编码
     */
    private String warehouseCode;

    /**
     * 配送公司id
     */
    private String deliveryCompanyId;

    /**
     * 收货人国家code
     */
    private String goodReceiverCountryCode;

    /**
     * 收货人省份code
     */
    private String goodReceiverProvinceCode;

    /**
     * 收货人城市code
     */
    private String goodReceiverCityCode;

    /**
     * 收货人地区code
     */
    private String goodReceiverCountyCode;

    /**
     * 收货人四级区域code
     */
    private String goodReceiverAreaCode;

    /**
     * 拣货人id
     */
    private Long pickingUserId;

    /**
     * 门店id
     */
    private Long storeId;

    /**
     * 店铺名称
     */
    private String storeName;

    /**
     * 商家名称
     */
    private String merchantName;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 备注
     */
    private String doRemark;

    /**
     * 预计发货日期
     */
    private Date doLogisticsTime;

    /**
     * 是否推送wms:0-不推送;1-推送
     */
    private Integer wmsSwitch;

    /**
     * 扩展字段1
     */
    private String extField1;

    /**
     * 扩展字段2
     */
    private String extField2;

    /**
     * 扩展字段3
     */
    private String extField3;

    /**
     * 扩展字段4
     */
    private String extField4;

    /**
     * 扩展字段5
     */
    private String extField5;

    private static final long serialVersionUID = 1L;
}